using Bean.Entity.Enum;

namespace Bean.Entity.Model;

/// <summary>
/// 
/// </summary>
public class PolicyProductTaskDto
{

    /// <summary>
    /// 
    /// </summary>
    public long TaskId { get; set; }
    
    /// <summary>
    /// 规则文本
    /// </summary>
    public string RuleText { get; set; }

    /// <summary>
    /// 运价渠道
    /// </summary>
    public string AirCode { get; set; }

    /// <summary>
    /// 操作编码
    /// </summary>
    public string SerialNo { get; set; }

    /// <summary>
    /// 政策关键字
    /// </summary>
    public string PolicyKeyWord { get; set; }
    
    /// <summary>
    /// 运价字典
    /// </summary>
    public Dictionary<CIDEnum, List<PolicyFareTypeEnum>> faretypeDic { get; set; }
    
    /// <summary>
    /// 展位字典
    /// </summary>
    public Dictionary<CIDEnum, List<Exhibit>> exhibitDic { get; set; }
    
    /// <summary>
    /// 采购商编码集合
    /// </summary>
    public List<string> SPCodes { get; set; } = [];

    
    /// <summary>
    /// 
    /// </summary>
    public List<AirLinePolicy> AirLinePolicyList { get; set; }
    
    /// <summary>
    /// 操作类型
    /// </summary>
    public PolicyOTAOperateTypeEnum OperateType { get; set; }
    
    
    public class AirLinePolicy
    {
        /// <summary>
        /// 航司
        /// </summary>
        public string carrier { get; set; }
        
        /// <summary>
        /// 出发机场
        /// </summary>
        public string depAirport { get; set; }
        
        /// <summary>
        /// 到达机场
        /// </summary>
        public string arrAirport { get; set; }
        
        /// <summary>
        /// 起飞日期
        /// </summary>
        public DateTime? DepartDate { get; set; }
    }
    
}